Modern computers allow users to consume media through computer applications, such as web browsers, media players, and the like. Examples of such media include text, still images, video, and audio. With the technology available today, users expect near instantaneous response when interacting with media providers.
A small delay—even as short as a few seconds—in serving a web page or initiating playback of video or music will often lead to frustration, causing a user to attempt to re-request the content, press a “refresh” button in a browser, or even cause the user to give up on receiving the content and switch to another task. Users are generally more forgiving when accessing media content provided by smaller entities or where the media content is highly desirable. For large commercial media content providers that are earning money based on providing media content to users, however, the user expects a very high level of service, and delays in serving media content can be a direct cause of economic losses.
A user often has to register and “log in” to a commercial media content provider's service before consuming commercial media content from that service. This allows the media content provider to track and limit media consumption by that user, as well as to personalize the user experience. For example, a registered user who is logged in to a service might have a better user experience since media content can be cached in anticipation of listening habits, resulting in a shorter initial delay when playing music. Moreover, advertisements and content suggestions can be tailored for that specific user based on a user profile, usage history, and the like. However, requiring the user to register and/or login is also a barrier to giving the user a seamless experience when the user is not logged in, or not even registered.
To facilitate sharing of media content, such as sharing a link to a particular song through a social networking service, the steps of registering and logging in to a media service should not interfere with users listening to the song. Specifically, when a user follows a link to a song provided by a media service provider, the user experience should be seamless and instantaneous; the music should start playing immediately, even if the user is not logged in to or even registered with the media content provider. However, the anonymous access should be temporary, with the intended goal of converting the anonymous user to a registered and, hopefully, paying user.
If a link to media content is shared through a very large social network, then the number of unregistered users that may attempt to access the media content at substantially the same time and/or within a short period of time may be very high (e.g., in the tens of thousands, or even millions). There are several technical considerations to take into account when designing a system to handle such a load while also providing sufficiently fast response times and maintaining the desired tracking and limiting of media consumption.
A straightforward solution, such as creating a new user account for each access request by each anonymous user, and simply marking the new accounts as “temporary” or “anonymous” will likely lead to a proliferation of user accounts that are used only once. This will increase the user account database size and generally slow down performance of the media content provider. For example, delivery of media content may be delayed while the media content provider creates and stores the temporary user account for the requesting user.
Not using a user account for anonymous users is not satisfactory either, since the media content provider wants to track and limit media consumption by respective users. Accordingly, it is desirable to provide more efficient access to media content for temporary anonymous users.